package br.com.sebrae.pr.sgp.util.exceptions;

/**
 * Enum que define os tipos de erro do sistema
 * 
 * @author Tanaka
 */
public enum TipoErro {
	ALERTA(1), //
	AVISO(2), //
	ERRO(3), //
	SUCESSO(4);

	private final long idfRegTipoErro;

	TipoErro(final long idfRegTipoErro) {
		this.idfRegTipoErro = idfRegTipoErro;
	}

	public long getIdfRegTipoErro() {
		return idfRegTipoErro;
	}

	public static TipoErro getByIdf(final long idfRegTipoErro) {
		for (TipoErro te : values()) {
			if (te.getIdfRegTipoErro() == idfRegTipoErro) {
				return te;
			}
		}
		throw new IllegalArgumentException("Tipo erro " + idfRegTipoErro
				+ " não contemplado.");
	}
}
